﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using VRAEWeb.Models;

namespace VRAEWeb.Controllers
{
    public class PagoController : Controller
    {
        //
        // GET: /Pago/

        public ActionResult Index()
        {
            List<VRAEPago.Pago> listaPagoPendiente = (List<VRAEPago.Pago>)Session["PagosSeleccionados"];

            return View(listaPagoPendiente);
        }

        [HttpPost]
        public ActionResult Index(FormCollection formCollection)
        {
            List<VRAEPago.Pago> listaPagoPendiente = (List<VRAEPago.Pago>)Session["PagosSeleccionados"];

            return RedirectToAction("Pagar");
        }

        public ActionResult Pagar()
        {
            List<VRAEPago.Pago> listaPagoPendiente = (List<VRAEPago.Pago>)Session["PagosSeleccionados"];

            VRAEPago.SPagoClient oSPagoClient = new VRAEPago.SPagoClient();

            decimal? dMonto = 0;

            foreach (VRAEPago.Pago oPago in listaPagoPendiente)
            {
                oSPagoClient.Pagar(oPago.IdPago);
                dMonto += oPago.Monto;
            }

            Transaccion oTransaccion = new Transaccion();

            oTransaccion.IdCliente = 1;
            oTransaccion.NumeroCuenta = Session["Cuentas"].ToString();
            oTransaccion.IdEmpresa = Int32.Parse(Session["Empresas"].ToString());
            oTransaccion.IdServicio = Int32.Parse(Session["Servicios"].ToString());
            oTransaccion.Monto = dMonto;

            VRAEBancoModeloDataContext db = new VRAEBancoModeloDataContext();

            db.Transaccion.InsertOnSubmit(oTransaccion);

            Cuenta oCuenta = (  from e in db.Cuenta
                                where e.NumeroCuenta.Equals(Session["Cuentas"].ToString())
                                select e).FirstOrDefault();

            oCuenta.Saldo -= dMonto;

            db.SubmitChanges();

            return View(oTransaccion);
        }

    }
}
